From af2bff95077b376a21ba815505589f4ad6b62140 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 7 Feb 2017 23:10:23 +0100
Subject: [PATCH 1/1] fix build for i686

Signed-off-by: Christian Hesse <mail@eworm.de>
---
 library/base/jsonparser.cpp |  6 ++++--
 library/forms/jsonview.cpp  | 12 ++++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/library/base/jsonparser.cpp b/library/base/jsonparser.cpp
index 6ed4b3f..fb4e055 100644
--- a/library/base/jsonparser.cpp
+++ b/library/base/jsonparser.cpp
@@ -343,7 +343,7 @@ namespace JsonParser {
    */
   JsonValue &JsonArray::at(SizeType pos) {
     if (pos > _data.size())
-      throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
+      throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos));
     return _data.at(pos);
   }
 
@@ -358,7 +358,7 @@ namespace JsonParser {
    */
   const JsonValue &JsonArray::at(SizeType pos) const {
     if (pos > _data.size())
-      throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos));
+      throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos));
     return _data.at(pos);
   }
 
@@ -1668,12 +1668,14 @@ namespace JsonParser {
       case VDouble:
         _output += std::to_string((double)value);
         break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
       case VInt64:
         _output += std::to_string((int64_t)value);
         break;
       case VUint64:
         _output += std::to_string((uint64_t)value);
         break;
+#endif
       case VObject:
         write((JsonObject)value);
         break;
diff --git a/library/forms/jsonview.cpp b/library/forms/jsonview.cpp
index 1259427..2d50491 100644
--- a/library/forms/jsonview.cpp
+++ b/library/forms/jsonview.cpp
@@ -651,8 +651,10 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const
   if (data != nullptr) {
     std::stringstream buffer;
     double number = 0;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
     int64_t number2 = 0;
     uint64_t number3 = 0;
+#endif
     bool retBool = false;
     auto &storedValue = data->getData();
     switch (storedValue.getType()) {
@@ -664,6 +666,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const
         storedValue = number;
         setData = true;
         break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
       case VInt64:
         if (!base::is_number(value))
           break;
@@ -680,6 +683,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const
         storedValue = number3;
         setData = true;
         break;
+#endif
       case VBoolean:
         if (!base::isBool(value))
           break;
@@ -1073,6 +1077,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu
       node->set_string(1, std::to_string((double)value));
       node->set_string(2, "Double");
       break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
     case VInt64:
       node->set_string(1, std::to_string((int64_t)value));
       node->set_string(2, "Long Integer");
@@ -1081,6 +1086,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu
       node->set_string(1, std::to_string((uint64_t)value));
       node->set_string(2, "Unsigned Long Integer");
       break;
+#endif
     default:
       break;
   }
@@ -1322,8 +1328,10 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std:
   if (data != NULL) {
     std::stringstream buffer;
     double number = 0;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
     int64_t number2 = 0;
     uint64_t number3 = 0;
+#endif
     bool retBool = false;
     switch (storedValue.getType()) {
       case VDouble:
@@ -1334,6 +1342,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std:
         storedValue = number;
         node->set_float(column, number);
         _dataChanged(false);
+#ifdef DEFINE_UINT64_T_FUNCTIONS
       case VInt64:
         if (!base::is_number(value))
           break;
@@ -1352,6 +1361,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std:
         node->set_float(column, (double)number3);
         _dataChanged(false);
         break;
+#endif
       case VBoolean:
         if (!base::isBool(value))
           break;
@@ -1611,12 +1621,14 @@ void JsonGridView::generateNumberInTree(JsonParser::JsonValue &value, int column
     case VDouble:
       node->set_float(columnId, (double)value);
       break;
+#ifdef DEFINE_UINT64_T_FUNCTIONS
     case VInt64:
       node->set_long(columnId, (int64_t)value);
       break;
     case VUint64:
       node->set_long(columnId, (uint64_t)value);
       break;
+#endif
     default:
       break;
   }
-- 
2.11.1

